//
//  JKSQLiteManger.swift
//  SwiftFMDatabaseQueue
//
//  Created by 王冲 on 2018/5/13.
//  Copyright © 2018年 希艾欧科技有限公司. All rights reserved.
//

import UIKit

class JKSQLiteManger: NSObject {
    
    // MARK: 1、单粒
    private static let manger: JKSQLiteManger = JKSQLiteManger()
    class func shareManger() -> JKSQLiteManger {
        
        return manger
    }

    // MARK: 3、（安全的）数据库的创建&表的创建
    var dbQueue: FMDatabaseQueue?
    func openDB(DBName: String) {
        
        // 1、根据传入的数据库名称拼接数据库的路径
        let path = String.cacheDir()+"/\(DBName)"
        print("数据库的路径=\(path)")
        // 2、创建数据库对象
        dbQueue = FMDatabaseQueue(path: path)
        // 3、如果FMDatabaseQueue 创建数据库对象，那么就不需要打开数据库，因为内部进行了数据库的打开操作
        // 4、创建表
        createTable()
    }
    
    // MARK: 3、创建表
    func createTable() {
        
        // 1.编写SQL语句
        let sql = "CREATE TABLE IF NOT EXISTS T_Person6( \n" +
            "id INTEGER PRIMARY KEY AUTOINCREMENT, \n" +
            "name TEXT, \n" +
            "age INTEGER \n" +
        "); \n"
        
        // 2.执行SQL语句
        // 注意点: 在FMDB中除了查询意外, 都称之为更新
        dbQueue!.inDatabase { (db) in
            
            db.executeUpdate(sql, withArgumentsIn: [])
        }
    }
}

